﻿using BUS;
using DTO;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace QLBV_Nhom8
{
    public partial class frmQuanLyNguoiDung : Form
    {
        public frmQuanLyNguoiDung()
        {
            InitializeComponent();
        }

        private void frmQuanLyNguoiDung_Load(object sender, EventArgs e)
        {
            HienThiNhanVien();
        }

        private void HienThiNhanVien()
        {
            dgv_QuanLyNguoiDung.DataSource = NhanVienBUS.LayDanhSachNhanVien();
            DinhDangNhanVien();
        }

        private void DinhDangNhanVien()
        {
            dgv_QuanLyNguoiDung.Columns[0].Visible = false;
            dgv_QuanLyNguoiDung.Columns[1].HeaderText = "Tên Nhân Viên";
            dgv_QuanLyNguoiDung.Columns[2].HeaderText = "UserName";
            dgv_QuanLyNguoiDung.Columns[3].Visible = false;
            dgv_QuanLyNguoiDung.Columns[4].HeaderText = "Ngày Sinh";
            dgv_QuanLyNguoiDung.Columns[5].HeaderText = "Địa Chỉ";
            dgv_QuanLyNguoiDung.Columns[6].HeaderText = "Điện Thoại";
            dgv_QuanLyNguoiDung.Columns[7].HeaderText = "Bộ Phận";
        }


        private void btnThem_Click(object sender, EventArgs e)
        {
            try
            {
                NhanVienDTO obj = new NhanVienDTO();
                obj.TenNhanVien = txtTenNhanVien.Text;
                obj.UserName = txtUserName.Text;
                obj.Password = txtPassword.Text;
                obj.NgaySinh = Convert.ToDateTime(dtpNgaySinh.Value);
                obj.DiaChi = txtDiaChi.Text;
                obj.SoDienThoai = txtSoDienThoai.Text;
                obj.BoPhan = cboBoPhan.Text;

                NhanVienBUS.ThemNhanVien(obj);
                MessageBox.Show("Thêm thành công.");
                HienThiNhanVien();
            }
            catch
            {
                MessageBox.Show("Them thất bại.");
            }
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (dgv_QuanLyNguoiDung.SelectedRows.Count > 0)
            {
                int manhanvien = Convert.ToInt32(dgv_QuanLyNguoiDung.SelectedRows[0].Cells[0].Value);
                NhanVienBUS.XoaNhanVien(manhanvien);
                MessageBox.Show("Xóa nhân viên thành công.");
                HienThiNhanVien();
            }
            else
            {
                MessageBox.Show("Bạn chưa chọn nhân viên để xóa.");
            }
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            if (dgv_QuanLyNguoiDung.SelectedRows.Count > 0)
            {
                int manhanvien = Convert.ToInt32(dgv_QuanLyNguoiDung.SelectedRows[0].Cells[0].Value);
                NhanVienDTO obj = new NhanVienDTO();
                obj.MaNhanVien = manhanvien;
                obj.TenNhanVien = txtTenNhanVien.Text;
                obj.UserName = txtUserName.Text;
                obj.Password = txtPassword.Text;
                obj.NgaySinh = Convert.ToDateTime(dtpNgaySinh.Value);
                obj.DiaChi = txtDiaChi.Text;
                obj.SoDienThoai = txtSoDienThoai.Text;
                obj.BoPhan = cboBoPhan.Text;

                NhanVienBUS.SuaNhanVien(obj);
                HienThiNhanVien();
                Reset();
            }
            else
            {
                MessageBox.Show("Bạn chưa chọn user để sửa.");
            }
        }

        private void Reset()
        {
            txtTenNhanVien.Text = "";
            txtUserName.Text = "";
            txtPassword.Text = "";
            dtpNgaySinh.Value = DateTime.Now;
            txtDiaChi.Text = "";
            txtSoDienThoai.Text = "";
            cboBoPhan.Text = "";
        }

        private void dgv_QuanLyNguoiDung_SelectionChanged(object sender, EventArgs e)
        {
            if (dgv_QuanLyNguoiDung.SelectedRows.Count > 0)
            {
                int manhanvien = Convert.ToInt32(dgv_QuanLyNguoiDung.SelectedRows[0].Cells[0].Value);
                NhanVienDTO nhanvien = NhanVienBUS.LayThongTinNhanVienTheoMaNhanVien(manhanvien);

                txtTenNhanVien.Text = nhanvien.TenNhanVien;
                txtUserName.Text = nhanvien.UserName;
                txtPassword.Text = nhanvien.Password;
                dtpNgaySinh.Value = nhanvien.NgaySinh;
                txtDiaChi.Text = nhanvien.DiaChi;
                txtSoDienThoai.Text = nhanvien.SoDienThoai;
                cboBoPhan.Text = nhanvien.BoPhan;
            }
        }
    }
}